home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.awt.datatransfer.Clipboard;
- import java.awt.datatransfer.Transferable;
- import java.awt.event.ActionEvent;
- import javax.swing.plaf.UIResource;
- import sun.awt.AppContext;
- import sun.swing.SwingUtilities2;
- import sun.swing.UIAction;
-
- class TransferHandler$TransferAction extends UIAction implements UIResource {
- private static Object SandboxClipboardKey = new Object();
-
- TransferHandler$TransferAction(String var1) {
- super(var1);
- }
-
- public boolean isEnabled(Object var1) {
- return !(var1 instanceof JComponent) || ((JComponent)var1).getTransferHandler() != null;
- }
-
- public void actionPerformed(ActionEvent var1) {
- Object var2 = var1.getSource();
- if (var2 instanceof JComponent) {
- JComponent var3 = (JComponent)var2;
- TransferHandler var4 = var3.getTransferHandler();
- Clipboard var5 = this.getClipboard(var3);
- String var6 = (String)this.getValue("Name");
- Transferable var7 = null;
-
- try {
- if (var5 != null && var4 != null && var6 != null) {
- if ("cut".equals(var6)) {
- var4.exportToClipboard(var3, var5, 2);
- } else if ("copy".equals(var6)) {
- var4.exportToClipboard(var3, var5, 1);
- } else if ("paste".equals(var6)) {
- var7 = var5.getContents((Object)null);
- }
- }
- } catch (IllegalStateException var9) {
- UIManager.getLookAndFeel().provideErrorFeedback(var3);
- return;
- }
-
- if (var7 != null) {
- var4.importData(new TransferHandler.TransferSupport(var3, var7));
- }
- }
-
- }
-
- private Clipboard getClipboard(JComponent var1) {
- if (SwingUtilities2.canAccessSystemClipboard()) {
- return var1.getToolkit().getSystemClipboard();
- } else {
- Clipboard var2 = (Clipboard)AppContext.getAppContext().get(SandboxClipboardKey);
- if (var2 == null) {
- var2 = new Clipboard("Sandboxed Component Clipboard");
- AppContext.getAppContext().put(SandboxClipboardKey, var2);
- }
-
- return var2;
- }
- }
- }
-